Dynamically Loaded Classes as Shared Libraries: An Approach to Improving Virtual Machine Scalability
نویسندگان
چکیده
Sharing selected data structures among virtual machines of a safe language can improve resource utilization of each participating run-time system. The challenge is to determine what to share and how to share it in order to decrease start-up time and lower memory footprint without compromising the robustness of the system. Furthermore, the engineering effort required to implement the system must not be prohibitive. This paper demonstrates an approach that addresses these concerns in the context of the JavaTM virtual machine. Our system transforms packages into shared libraries containing classes in a format matching the internal representation used within the virtual machine. We maximize the number of elements in the read-only section to take advantage of cross-process text segment sharing. Non-shareable data are automatically replicated when written to due to the operating system's streamlined support for copy-on-write. Relying on the existing shared libraries manipulation infrastructure significantly reduces the engineering effort.
منابع مشابه
A New Approach for Stress State - Dependent Flow Localization Failure Bounded Through Ductile Damage in Dynamically Loaded Sheets
In this paper, a new approach is proposed for stress state - dependent flow localization in bifurcation failure model bounded through ductile damage in dynamically loaded sheets. Onset of localized necking is considered in phenomenological way for different strain rates to draw the forming limit diagram (FLD). Using a strain metal hardening exponent in the Vertex theory related to the strain ra...
متن کاملExploring Coordination of Threads in Multi-Core Libraries
Modern multi-core libraries do an excellent job of abstracting the details of thread programming away from the programmer, delivering a convenient interface for developing portable parallel applications. With a rich collection of synchronization primitives and lock-free data structures, these libraries allow the programmer to easily manage their programs. Their weakness, however, is that at ini...
متن کاملVirtual Clusters: Resource Mangement on Large Shared-memory Multiprocessors a Dissertation Submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy
Despite the fact that large scale shared-memory multiprocessors have been commercially available for several years, system software that fully utilizes all of their features is still not available. These machines require system software that is scalable, supports fault containment, and provides scalable resource management. Software supporting these features is currently unavailable, mostly due...
متن کاملA Multi-User Virtual Machine
Recent efforts aimed at improving the scalability of the Java platform have focused primarily on the safe collocation of multiple applications in the virtual machine. This is often beneficial for various performance metrics, but ultimately leads to a singleuser multitasking environment. The lack of multi-user capabilities forms a barrier to the scalability of multitasking virtual machines, as i...
متن کاملJava Class Seperation for Multi- Application Hosting
Java applications are usually executed within a Java Virtual Machine (JVM), which is part of the Java Runtime Environment (JRE). In this scenario, hosting more than one application at the same time within a JVM is not originally supported, and customizable mechanisms to manage different application classes and related byte codes with the same class name concurrently are still lacking. In this p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003